Numerical counter oscillators (NCO), or accumulators, are convenient multi-bit registers that increment a summed value in response to a periodic input signal, such as a digital clock waveform. One application for an NCO is in a technique known as direct-digital-synthesis, often used to generate a variable frequency clock.
Direct-digital-synthesis (DDS) for generating variable frequency clocks are well-known in the art and, as shown in FIG. 1, generally involve driving the input of an NCO 10 with a digital clock signal 12. The counter incrementally advances with each subsequent clock period.
Each multi-bit count value is mapped to a sine value look-up table or memory 14 for a digital representation of an analog sine wave phase angle. The digital representation is then fed through a digital-to-analog converter (DAC) 16 where the accumulating phase angle results in a complete sinusoidal analog waveform. Further conditioning of the analog signal by a filter 18 and a phase-locked-loop (PLL) 20 often occurs to form the desired clock.
Conventionally, the frequency of the desired end waveform typically relies on the accuracy of the NCO. The degree of accuracy is typically characterized by the equation FNCO=Fref(A/B), where FNCO is the desired frequency and Fref is the digital input clock frequency. The “A” and “B” terms together represent a ratio of Fref to FNCO. The “B” term traditionally represents a binary divisor dependent on the number of output bits N in the NCO.
In other words, the ratio A/B forces a ½N resolution when programming a desired clock frequency FNCO. The resulting problem is that a user desiring to program a variable frequency clock to, for example, one gigahertz, because of the limited number of available values for “B”, might have to accept a frequency of 1.001 gigahertz. In some applications, such as automatic test equipment, this level of inaccuracy is problematic.
What is needed and currently unavailable is an NCO that provides a high level of accuracy that correspondingly allows more flexibility in frequency resolution for variable frequency clock generators and other circuits that utilize NCOs. The NCO described herein satisfies these needs.